草庐IT

Debian 12

全部标签

《RPC实战与核心原理》学习笔记Day12

15|熔断限流:业务如何实现自我保护?为什么我们的服务需要自我保护?RPC是解决分布式系统通信问题的一大利器,它会面临高并发的场景,这意味着我们提供服务的每个服务节点都有可能由于访问量过大而引起一系列的问题,例如业务处理耗时过长、CPU利用率过高、频繁FullGC以及服务进程直接宕机等,在生产环境中,我们要保证服务的稳定性和高可用性,这就需要业务进行自我保护,从而在高访问量、高并发的场景下,应用系统依然稳定,服务依然高可用。使用RPC时,业务如何实现自我保护?可以在服务提供方做限流操作,在服务调用方做熔断操作。熔断是调用方为了避免在调用过程中,服务提供方出现问题的时候,自身资源被耗尽的一种保护

《RPC实战与核心原理》学习笔记Day12

15|熔断限流:业务如何实现自我保护?为什么我们的服务需要自我保护?RPC是解决分布式系统通信问题的一大利器,它会面临高并发的场景,这意味着我们提供服务的每个服务节点都有可能由于访问量过大而引起一系列的问题,例如业务处理耗时过长、CPU利用率过高、频繁FullGC以及服务进程直接宕机等,在生产环境中,我们要保证服务的稳定性和高可用性,这就需要业务进行自我保护,从而在高访问量、高并发的场景下,应用系统依然稳定,服务依然高可用。使用RPC时,业务如何实现自我保护?可以在服务提供方做限流操作,在服务调用方做熔断操作。熔断是调用方为了避免在调用过程中,服务提供方出现问题的时候,自身资源被耗尽的一种保护

Python 3.12 目标:还可以更快!

按照发布计划,Python3.11.0将于2022年10月24日发布。据测试,3.11相比于3.10,将会有10-60%的性能提升,这个成果主要归功于“FasterCPython”项目,即“香农计划”。关于“香农计划”的详情,可查看Python之父的主题分享,以及他的一则播客访谈。3.11版本为Python的提速开了一个激动人心的好头。接下来,3.12还会有更多动作。以下文章翻译自“香农计划”的《Python3.12Goals》,大家先一睹为快吧!作者:MarkShannon译者:豌豆花下猫@Python猫英文:https://github.com/faster-cpython/ideas/w

Python 3.12 目标:还可以更快!

按照发布计划,Python3.11.0将于2022年10月24日发布。据测试,3.11相比于3.10,将会有10-60%的性能提升,这个成果主要归功于“FasterCPython”项目,即“香农计划”。关于“香农计划”的详情,可查看Python之父的主题分享,以及他的一则播客访谈。3.11版本为Python的提速开了一个激动人心的好头。接下来,3.12还会有更多动作。以下文章翻译自“香农计划”的《Python3.12Goals》,大家先一睹为快吧!作者:MarkShannon译者:豌豆花下猫@Python猫英文:https://github.com/faster-cpython/ideas/w

《分布式技术原理与算法解析》学习笔记Day12

调度框架:共享状态调度什么是共享状态调度?共享状态调度是为了解决单体调度和两层调度遇到的问题而创建出来的新的调度框架。它通过将单体调度器分解为多个调度器,每个调度器都有全局的资源状态信息,从而实现最优的任务调度,提供了更好的可扩展性。共享装填调度将集群状态之外的功能抽象出来,形成独立的服务,包括:StateStorage模块:负责存储和维护资源及任务状态,一遍Scheduler查询资源状态和调度任务。ResourcePool模块:多个节点集群,接收并执行Scheduler调度的任务。Scheduler模块:只包含任务调度操作。共享状态调度框架如下图所示。共享状态调度和两层调度相比的不同点:存在

《分布式技术原理与算法解析》学习笔记Day12

调度框架:共享状态调度什么是共享状态调度?共享状态调度是为了解决单体调度和两层调度遇到的问题而创建出来的新的调度框架。它通过将单体调度器分解为多个调度器,每个调度器都有全局的资源状态信息,从而实现最优的任务调度,提供了更好的可扩展性。共享装填调度将集群状态之外的功能抽象出来,形成独立的服务,包括:StateStorage模块:负责存储和维护资源及任务状态,一遍Scheduler查询资源状态和调度任务。ResourcePool模块:多个节点集群,接收并执行Scheduler调度的任务。Scheduler模块:只包含任务调度操作。共享状态调度框架如下图所示。共享状态调度和两层调度相比的不同点:存在

Android12 (S) 获取wifi名称(SSID)的方法

目录概述问题分析总结概述在最近开发过程中需要获取当前wifi的SSID,目前网上一般推荐mWifiManager.getConnectionInfo()这个方法来进行获取,但是发现在Android12上这个方法已经被标记为过时,本着用最新方法的想法,决定使用推荐的新方法试试。问题分析一言不合看源码,既然该方法被标记为过时,那么应该也会有推荐的方法来使用,源码如下:/**//path:packages/modules/Wifi/framework/java/android/net/wifi/WifiManager.java*Returndynamicinformationaboutthecurr

Android12 (S) 获取wifi名称(SSID)的方法

目录概述问题分析总结概述在最近开发过程中需要获取当前wifi的SSID,目前网上一般推荐mWifiManager.getConnectionInfo()这个方法来进行获取,但是发现在Android12上这个方法已经被标记为过时,本着用最新方法的想法,决定使用推荐的新方法试试。问题分析一言不合看源码,既然该方法被标记为过时,那么应该也会有推荐的方法来使用,源码如下:/**//path:packages/modules/Wifi/framework/java/android/net/wifi/WifiManager.java*Returndynamicinformationaboutthecurr

读Java实战(第二版)笔记12_重构、测试和调试

1. 设计模式1.1. 对设计经验的归纳总结1.2. 一种可重用的蓝图1.3. Java5引入了for-each循环1.3.1. 替代了很多显式使用迭代器的情形1.4. Java7推出的菱形操作符()1.4.1. 帮助大家在创建实例时无须显式使用泛型1.4.2. 推动了Java程序员们采用类型接口(typeinterface)进行程序设计1.5. 单例模式1.5.1. 一般用于限制类的实例化,仅生成一份对象1.6. 访问者模式1.6.1. 常用于分离程序的算法和它的操作对象2. 策略模式2.1. 解决一类算法的通用解决方案,你可以在运行时选择使用哪种方案2.2. 一个代表某个算法的接口(Str

读Java实战(第二版)笔记12_重构、测试和调试

1. 设计模式1.1. 对设计经验的归纳总结1.2. 一种可重用的蓝图1.3. Java5引入了for-each循环1.3.1. 替代了很多显式使用迭代器的情形1.4. Java7推出的菱形操作符()1.4.1. 帮助大家在创建实例时无须显式使用泛型1.4.2. 推动了Java程序员们采用类型接口(typeinterface)进行程序设计1.5. 单例模式1.5.1. 一般用于限制类的实例化,仅生成一份对象1.6. 访问者模式1.6.1. 常用于分离程序的算法和它的操作对象2. 策略模式2.1. 解决一类算法的通用解决方案,你可以在运行时选择使用哪种方案2.2. 一个代表某个算法的接口(Str